#ifndef   __SERIAL_H__
#define  __SERIAL_H__

#include<stdio.h>      /*标准输入输出定义*/ 
#include<stdlib.h>     /*标准函数库定义*/  
#include<unistd.h>     /*Unix 标准函数定义*/  
#include<sys/types.h>   
#include<sys/stat.h>     
#include<fcntl.h>      /*文件控制定义*/  
#include<termios.h>    /*PPSIX 终端控制定义*/  
#include<errno.h>      /*错误号定义*/  
#include<string.h> 
#include <assert.h>
#include <poll.h>
#include <sys/ioctl.h>

#define FALSE -1
#define TRUE 0

/**
 * 打开串口设备
 * @param[in] devpath 串口设备路径
 * @return 打开的文件描述符
 * @retval 0 打开设备失败，原因见errno
 */
int serial_open(char *devpath)  ;

void serial_Close(int fd)  ;
int serial_Set(int fd, int speed, int flow_ctrl, int databits, int stopbits, int parity) ;
int serial_init(char *devpath)  ;
int serial_recv_exact_nbytes(int fd, void *buf, int count);
int serial_send_exact_nbytes(int fd, unsigned char *buf, int count);
int serial_exit(int fd);

#endif
